package com.xinsoft.entity.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.xinsoft.common.BaseEntity;
import com.xinsoft.entity.po.FmsAccountsPay;
import com.xinsoft.entity.po.ScmPurchaseItem;
import com.xinsoft.entity.po.SysFileHis;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 采购订单
 * @TableName scm_purchase
 */
@Data
public class ScmPurchaseDto implements Serializable {

    /**
     * 主键ID
     */
    protected Integer id;

    /**
     * 单据类型 10744
     */
    private Integer purchaseType;

    /**
     * 采购单编号
     */
    private String purchaseCode;

    /**
     * 供应商ID
     */
    private Integer supplierId;

    /**
     * 采购员
     */
    private Integer purchasePersonId;

    /**
     * 合同编号
     */
    private String contractCode;

    /**
     * 合同类型
     */
    private Integer contractType;

    /**
     * 合同日期
     */
    private Date contractDate;

    /**
     * 优惠折扣率
     */
    private BigDecimal discountAmount;

    /**
     * 减免金额
     */
    private BigDecimal discountRate;

    /**
     * 合同有效期
     */
    private Date contractEffectiveDate;

    /**
     * 供应商合同编号
     */
    private String supplierContractCode;

    /**
     * 供应商联系电话
     */
    private String companyPhone;

    /**
     * 订单总额
     */
    private BigDecimal payAmount;

    /**
     * 开票总额
     */
    private BigDecimal invoicedAmount;

    /**
     * 关闭状态（0未关闭，1关闭）
     */
    private Integer doClose;

    /**
     * 备注
     */
    private String remark;

    /**
     * 审批状态 默认0暂存, 1:已提交(审批中), 2:驳回, 3:审核通过
     */
    private Integer approveStatus;

    /**
     * 申请人ID
     */
    private Integer applyPersonId;

    /**
     * 申请时间
     */
    private Date applyTime;

    /**
     * 详情
     */
    private List<ScmPurchaseItem> itemList;


    /**
     * 应付账款列表
     */
    private List<FmsAccountsPay> fmsAccountsReceivableList;

    /**
     * 附件列表
     */
    private List<SysFileHis> sysFileHisList;

    private static final long serialVersionUID = 1L;

}